package com.tbit.uqbike.client.dao.core;

import com.tbit.uqbike.client.pojo.Machine;
import com.tbit.uqbike.client.pojo.MachineBorrow;

import java.util.List;
import java.util.Map;

/**
 * 设备最后借出dao
 *
 * @author Leon
 * 2017年2月24日 下午4:02:36
 */
public interface MachineBorrowDao {
    /**
     * 根据用户id查询
     *
     * @param userId
     * @return
     */
    MachineBorrow getByUserId(Integer userId);

    /**
     * 根据设备id查询
     *
     * @param machineId
     * @return
     */
    MachineBorrow getByMachineId(Integer machineId);

    /**
     * 根据设备id批量查询
     *
     * @param params
     * @return
     */
    List<MachineBorrow> getByMachineIdBatch(Map<String, Object> params);

    /**
     * 添加
     *
     * @param machineBorrow
     */
    void insert(MachineBorrow machineBorrow);

    /**
     * 删除
     *
     * @param machineId
     */
    void del(Integer machineId);

    /**
     * 所有借出设备
     *
     * @return
     */
    List<Integer> getAll();

    /**
     * 查询用户借车车辆信息
     *
     * @param userId
     * @return
     */
    Machine getRideByUserId(Integer userId);
    /**
     * 根据订单号获取借车信息
     *
     * @param orderNO 订单编号
     * @return MachineBorrow
     */
    MachineBorrow getByOrderNo(String orderNO);
}